Telephone conferences, also referred to herein as conference calls, allow two or more individuals to participate in a telephone conversation together. The actual telephone calls between the various participants are typically placed by a telephone network device called a conference bridge. The conference bridge is responsible for connecting each of the telephone conference participants, mixing audio from each of the telephone calls, performing billing functions, and other tasks.
Telephone conferences are often managed utilizing a telephone or world wide web-based interface to the conference bridge through which the phone numbers of the various parties and other information may be provided. However, these interfaces can be difficult to use and are typically helpful only for scheduled conference calls. Because of the complexity of setting up a telephone conference, these types of interfaces are not generally appropriate for impulse-type conference calls. For instance, if an electronic mail message has been circulated to a number of individuals, it would be very time consuming to utilize a web- or telephone-based interface to a telephone conference system to initiate a telephone conference between all of the recipients of the mail message.
In order to provide an improved interface for initiating an impulse-type telephone conference, desktop application software executing on a computer system may be utilized to initiate the conference call. For instance, in the example described above, the electronic mail message itself may be utilized as a starting point for initiating the telephone conference. In particular, if a telephone number can be obtained for each of the mail recipients, it may be possible to transmit electronic data to a conference bridge requesting that a telephone conference be initiated between each of the participants immediately.
In order to initiate an exchange of data between a desktop application program and a remote conference bridge, a number of technical hurdles must be overcome. First, it is necessary for a secure asynchronous connection between the desktop application program and the conference bridge to be established. However, establishing a secure asynchronous communications channel among devices across network hops and firewalls has often been a challenge. In order to be effective, the communications channel between the desktop and the conference bridge should support the traversal of 1-N network hops and/or unmanaged firewalls and/or network address translation (“NAT”) devices and/or HTTP proxy devices. Moreover, communications from both the desktop application program and the conference bridge should be authenticated to ensure that unauthorized access cannot be had to the conference bridge. Additionally, all communication between the desktop application program and the conference bridge should be logged.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.